1. Technical Field
The present disclosure relates to directory services, and more specifically to a virtual directory server processing requests based on hierarchical models while using backend servers operating based on relational models.
2. Related Art
A directory server refers to a server/machine, which provides values in response to names received in directory requests from client systems. The values typically represent identity information related to an enterprise such as users, dynamic/static groups, resources, organizational units, etc., as is well known in the relevant arts.
The names are often organized in a hierarchical model, implying that there are names at multiple levels in the model. The requests may specify a sequence of names, representing a hierarchical connected path in the model, and the value(s) corresponding to the requested path are sent back as a response. LDAP (light-weight directory access protocol) is a common protocol according to which requests are sent to directory servers.
Backend servers often provide data forming the basis for responses to the directory requests. Thus, a directory server receives such data and incorporates the received data in the responses to the directory requests. The backend servers can be independent directory servers, in which case the directory server, interfacing with the client systems, is termed as a virtual directory server (VDS). A VDS can operate with database systems type machines as backend servers also.
There are often situations in which the identity information maintained in backend servers is organized according to relational models. As is well known, in a relational model, the (identity) information is organized as tables containing rows and columns A relational database management system (RDBMS) is an example of a backend server that maintains information according to a relational model.
There is a general need to simplify the implementation of a directory server in such environments, in particular, when interfacing with backend servers operating based on relational models.